// This is a pregenerated file made by gen_exploit_config.rb. Some sections are labelled as "TODO", you need to enter your values here

#ifndef EXPLOIT_CONFIG
#define EXPLOIT_CONFIG

//Where to load hbl.bin in Ram
// Has to be a place not occupied by the game
// a correct address can be found in psplink, by typing:
// malloc 2 test l 204800
// (the value you want is head address, try h instead of lto get a different address if needed
// Ideally, it should be either smaller than 0x08900000 or higher then 0x09000000.
// If you don't have any address in these areas, you can use GAME_PRELOAD_FREEMEM, which can free some memory *before* you load HBL, and maybe free some useful ranges
#define HBL_LOAD_ADDRESS 0x09FAAE00

// To get the correct values for TH_ADDR_LIST, EV_ADDR_LIST, SEMA_ADDR_LIST, GAME_FREEMEM_ADDR,
// the best is to use freemem.rb in the tools folder.
// otherwise you can gather these values with psplink

// Addresses where the threads to delete are defined
// can be found with psplink (thlist)
//#define TH_ADDR_LIST { 0x09FFFE00, 0x09FBFC00 }

//Addresses where the event flags to delete can be found
//psplink evlist
//#define EV_ADDR_LIST { 0x08C3D410, 0x08C3D45C }

//Addresses where the semaphores to delete can be found
//psplink smlist
//#define SEMA_ADDR_LIST {  }
//#define VPL_ADDR_LIST {  }
//#define FPL_ADDR_LIST {  }

// Define to Free the game module (e.g. minna no golf)
// Not all games need that
//#define GAME_FREEMEM_ADDR { 0x08C39FA4 }

#undef HBL_ROOT
// Replace the "TODO" below with the code of your game (e.g UCUS12345)
#define HBL_ROOT "ms0:/PSP/SAVEDATA/NPEZ00101DATA00/"

// Syscall Estimation is broken since 6.60. This define removes syscall estimation
// functions that cannot be hooked or that do not exist are replaced with dummy functions that return "ok", for better of for worse
#define DEACTIVATE_SYSCALL_ESTIMATION

// Some hooks are not really wise if the game already imports them. Files generated by gen_config_exploit try to define hooks
//cleverly based on the game imports, but at runtime additional stubs might be found that make these hooks obsolete.
// This define will prevent some of your hooks from being active, because HBL will decide at runtime that it is not a good idea to do the override
#define DONT_HOOK_IF_FUNCTION_IS_IMPORTED

// Define to free additional modules (net modules, etc...) (e.g. patapon2 demo)
// Not all games need that
#define UNLOAD_ADDITIONAL_MODULES

//There is in general no good reason to comment that one
//It searches for additional syscalls.
#define LOAD_MODULES_FOR_SYSCALLS

// Hooks (function overrides/replacements)
// define DISABLE_P5_STUBS if P5 stubs cause a crash at startup
//#define DISABLE_P5_STUBS

//Vita: all files of HBL in one single folder, no subfolders
#define FLAT_FOLDER
#undef EBOOT_PATH
#define EBOOT_PATH HBL_ROOT"GAME/EBOOT.PBP"
#undef ELF_PATH
#define ELF_PATH HBL_ROOT"GAME/eboot.elf"
#undef HBL_PATH
#define HBL_PATH HBL_ROOT HBL_BIN
#undef LIB_PATH
#define LIB_PATH HBL_ROOT
#undef IMPORTS_PATH
# define IMPORTS_PATH HBL_ROOT

// Adds missing "." ".." entries on Vita
#define VITA_DIR_FIX

// FAT support (required since Vita FW 1.80)
#define HARDCODED_IMPORTS_CONFIG
#define SMALL_FILENAMES

// Perfect syscall code: not available anymore in 6.60, so everything here is empty

// For which firmware versions is perfect syscall estimation available?
#define SYSCALLS_KNOWN_FOR_FIRMWARES {  }
#define SYSCALLS_KNOWN_FOR_GO_FIRMWARES { }

// Reference library for syscall estimation, all syscalls for this library must be known
#define SYSCALL_REFERENCE_LIBRARY "sceOpenPSID"

#define HOOK_UTILITY
#define AVOID_NET_UTILITY

#endif

